362e8931fde13352b5109a9dc5f0ee7921e73034,editor/typesystemIntegration/source/jetbrains/mps/typesystem/checking/NonTypesystemEditorChecker.java,NonTypesystemEditorChecker,doCreateMessages,#TypeCheckingContext#boolean#EditorContext#SNode#Cancellable#boolean#,49

Before Change


      return CANCELLED;
    }

    return ((IncrementalTypecheckingContext) context).runTypeCheckingAction(new Computable<Pair<Collection<EditorMessage>, Boolean>>() {
      @Override
      public Pair<Collection<EditorMessage>, Boolean> compute() {
        IncrementalTypechecking typesComponent = context.getBaseNodeTypesComponent();
        boolean messagesChanged = false;

        //non-typesystem checks
        if (!incremental || !typesComponent.isCheckedNonTypesystem()) {
          try {
            messagesChanged = true;
            context.setIsNonTypesystemComputation();
            if (typesComponent.applyNonTypesystemRulesToRoot(context, cancellable)) {
              typesComponent.setCheckedNonTypesystem();
            }
          } catch (Throwable t) {
            LOG.error(null, t);
            typesComponent.setCheckedNonTypesystem();
          } finally {
            context.resetIsNonTypesystemComputation();
          }
        }

        // highlight nodes with errors
        Collection<EditorMessage> messages = collectMessagesForNodesWithErrors(context, editorContext, false, applyQuickFixes);
        return new Pair<Collection<EditorMessage>, Boolean>(messages, messagesChanged);
      }
    });
  }

}

After Change


      return UpdateResult.CANCELLED;
    }

    return ((IncrementalTypecheckingContext) context).runTypeCheckingAction(() -> {
      IncrementalTypechecking typesComponent = context.getBaseNodeTypesComponent();
      boolean messagesChanged = false;

      //non-typesystem checks
      if (!incremental || !typesComponent.isCheckedNonTypesystem()) {
        try {
          messagesChanged = true;
          context.setIsNonTypesystemComputation();
          if (typesComponent.applyNonTypesystemRulesToRoot(context, cancellable)) {
            typesComponent.setCheckedNonTypesystem();
          }
        } catch (Throwable t) {
          LOG.error(null, t);
          typesComponent.setCheckedNonTypesystem();
        } finally {
          context.resetIsNonTypesystemComputation();
        }
      }

      // highlight nodes with errors
      Collection<EditorMessage> messages = collectMessagesForNodesWithErrors(context, editorContext, false, applyQuickFixes);
      return new Completed(messagesChanged, messages);
    });
  }

}